﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Police.Configuration;
using Police.Svn;

namespace Police
{
    /// <summary>
    /// Define single pre-commit validation rule.
    /// </summary>
    public interface IPreCommitRule
    {
        /// <summary>
        /// Check if rule is respected, if not, this method must throw
        /// an exception of type <see cref="Police.PreCommitRuleException"/>
        /// </summary>
        /// <param name="settings">Settings used by pre-commit validator.</param>
        /// <param name="changeInfo">Change info of current transaction.</param>
        void Validate(Settings settings, ISvnChangeInfo changeInfo);
    }
}
